\select@language {ngerman}
\contentsline {part}{\numberline {I}SO - Compiler}{iv}{part.1}
\contentsline {chapter}{\numberline {1}Einleitung}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Motivation}{1}{section.1.1}
\contentsline {section}{\numberline {1.2}Grober Plan}{1}{section.1.2}
\contentsline {section}{\numberline {1.3}Stand zu Beginn des Buches (14.12.2008)}{2}{section.1.3}
\contentsline {section}{\numberline {1.4}Kurzfristiger Plan}{2}{section.1.4}
\contentsline {section}{\numberline {1.5}Langfristiger Plan}{2}{section.1.5}
\contentsline {chapter}{\numberline {2}Paketstruktur}{3}{chapter.2}
\contentsline {chapter}{\numberline {3}Lexer}{5}{chapter.3}
\contentsline {section}{\numberline {3.1}Funktion eines Lexers}{5}{section.3.1}
\contentsline {section}{\numberline {3.2}Schnittstellen des SO-Lexers}{5}{section.3.2}
\contentsline {section}{\numberline {3.3}Token}{5}{section.3.3}
\contentsline {section}{\numberline {3.4}TokenTypes und ihre Bedeutung}{6}{section.3.4}
\contentsline {section}{\numberline {3.5}Funktionsweise des SO-Lexers}{10}{section.3.5}
\contentsline {chapter}{\numberline {4}Parser}{11}{chapter.4}
\contentsline {section}{\numberline {4.1}Definition Parser}{11}{section.4.1}
\contentsline {section}{\numberline {4.2}Parserbau - Eigenbau oder Generator}{11}{section.4.2}
\contentsline {section}{\numberline {4.3}Grobe Funktionsweise}{11}{section.4.3}
\contentsline {section}{\numberline {4.4}Grammatik - Herzst\IeC {\"u}ck des Compilers}{12}{section.4.4}
\contentsline {subsection}{\numberline {4.4.1}Definition: Grammatik}{12}{subsection.4.4.1}
\contentsline {subsection}{\numberline {4.4.2}Die SO - Grammatik}{14}{subsection.4.4.2}
\contentsline {section}{\numberline {4.5}Parser als UML-Diagramm}{19}{section.4.5}
\contentsline {chapter}{\numberline {5}TreeFactory}{20}{chapter.5}
\contentsline {section}{\numberline {5.1}Abstrakte Fabrik}{20}{section.5.1}
\contentsline {section}{\numberline {5.2}MyTreeFactory}{21}{section.5.2}
\contentsline {chapter}{\numberline {6}Tree}{24}{chapter.6}
\contentsline {section}{\numberline {6.1}B\IeC {\"a}ume - Eine Datenstruktur}{25}{section.6.1}
\contentsline {section}{\numberline {6.2}Abstract Syntax Tree - Angepasste Datenstruktur}{26}{section.6.2}
\contentsline {section}{\numberline {6.3}Tree}{30}{section.6.3}
\contentsline {section}{\numberline {6.4}MyTree}{30}{section.6.4}
\contentsline {chapter}{\numberline {7}Symboltabellen f\IeC {\"u}r Variablen, Felder, Klassen, Methoden}{31}{chapter.7}
\contentsline {chapter}{\numberline {8}Analysephasen}{32}{chapter.8}
\contentsline {section}{\numberline {8.1}Namensanaylse}{32}{section.8.1}
\contentsline {section}{\numberline {8.2}Typ\IeC {\"u}berpr\IeC {\"u}fung}{32}{section.8.2}
\contentsline {section}{\numberline {8.3}Optimierung}{32}{section.8.3}
\contentsline {section}{\numberline {8.4}Codegenerierung}{32}{section.8.4}
\contentsline {chapter}{\numberline {9}Codegenerierung - Tool}{33}{chapter.9}
\contentsline {section}{\numberline {9.1}Die Klasse IRBuilder}{33}{section.9.1}
\contentsline {section}{\numberline {9.2}Die Klasse Code}{33}{section.9.2}
\contentsline {chapter}{\numberline {10}Special Trees}{34}{chapter.10}
\contentsline {chapter}{\numberline {11}Compiler}{35}{chapter.11}
\contentsline {chapter}{\numberline {12}Beispiele}{36}{chapter.12}
\contentsline {chapter}{\numberline {13}Zukunftsaussichten}{37}{chapter.13}
\contentsline {part}{\numberline {II}Anhang}{38}{part.2}
\contentsline {chapter}{\numberline {A}Programmieren in SO}{39}{appendix.A}
